iT邦幫忙

2025 iThome 鐵人賽

DAY 7
1
生成式 AI

AI 給我錢錢錢 ! AI 股神養成計劃系列 第 7

Day 7 : 投資風險控制必修課:分散投資與停損觀念

  • 分享至 

  • xImage
  •  

在股市投資中,大家最常聽到的一句話就是:「不要把雞蛋放在同一個籃子裡」。這句話的核心就是 分散投資。分散投資能降低單一股票或產業帶來的風險,讓投資組合的波動性下降。同時,正確的 停損策略 也能避免因過度抱股而導致的巨大虧損。今天我們就來談談這兩個重要觀念,並且用程式模擬一下。

分散投資的核心精神

  1. 降低單一風險:如果投資組合裡只有一檔股票,該公司出現財報雷或產業危機,整體資產會受到嚴重衝擊。

  2. 不同產業配置:同時持有科技股、金融股、能源股,可以避免產業循環的波動影響過大。

  3. 跨資產配置:除了股票,也能配置債券、ETF、黃金或現金,提升組合穩健度。

停損觀念

  1. 設定停損點:例如買進股票後若下跌 10%,就果斷賣出,避免虧損擴大。

  2. 紀律執行:停損是保護資金的重要手段,避免因情緒而持續加碼,陷入無底洞。

  3. 風險控管公式

  • 停損金額 = 投資本金 × 可承受虧損比例(例如 2%)

  • 部位大小 = 停損金額 ÷ (進場價格 - 停損價格)

Python 實作:分散投資與停損模擬

我們來看看假設投資人想分散投資在 蘋果 (AAPL)、微軟 (MSFT)、Google (GOOG)、Tesla (TSLA) 四檔股票,並設定 10% 停損 策略。

python
import yfinance as yf
import pandas as pd

# 設定投資組合
stocks = ["AAPL", "MSFT", "GOOG", "TSLA"]
weights = [0.25, 0.25, 0.25, 0.25]  # 均等分散

# 抓取過去 6 個月的股價,保留 Adj Close
data = yf.download(stocks, period="6mo", auto_adjust=False)["Adj Close"]

# 計算投資組合的每日報酬
returns = data.pct_change().dropna()
portfolio_return = (returns * weights).sum(axis=1)

# 假設投資本金 100,000
initial_capital = 100000
portfolio_value = (1 + portfolio_return).cumprod() * initial_capital

# 設定停損:若單一股票跌超過 10% 就觸發停損訊號
stop_loss = {}
for stock in stocks:
    max_price = data[stock].cummax()
    drawdown = (data[stock] - max_price) / max_price
    stop_loss_dates = drawdown[drawdown < -0.10].index
    stop_loss[stock] = stop_loss_dates

# 結果輸出
print("投資組合最終價值:", round(portfolio_value.iloc[-1], 2))
for stock, dates in stop_loss.items():
    if len(dates) > 0:
        print(f"{stock} 觸發停損日期:")
        for d in dates:
            print("  -", d.strftime("%Y-%m-%d"))
    else:
        print(f"{stock} 在觀察期間內沒有觸發停損")

程式解說

  1. 投資組合報酬計算:將四檔股票依照 25% 權重分散配置。

  2. 停損檢查:判斷股價是否從最高點回落超過 10%。

  3. 輸出結果:顯示最終投資組合價值,以及各股票是否在期間內觸發停損。

  • auto_adjust=False → 確保下載回來的 DataFrame 有 "Adj Close" 欄位。

  • portfolio_value[-1] 改成 portfolio_value.iloc[-1] → 避免 FutureWarning。

  • dates.date 改成 dates.date.tolist() → 讓日期列表一次輸出,而不是丟一個 index object 出來。

輸出結果

https://ithelp.ithome.com.tw/upload/images/20250819/20169444QWQENdHWEA.png

我有另外修改成 逐行印出日期的方式,並且用 strftime("%Y-%m-%d") 格式化成清楚的年月日。

結語

  • 分散投資能降低系統性風險,停損策略則能保護本金。

  • 投資不是避免風險,而是 管理風險

  • 程式化工具能幫助投資人客觀檢視投資組合,減少情緒影響。

👉明天將進入 第二週 AI 分析應用 的第一步!
Day 8 我會手把手註冊 OpenAI API Key,五分鐘就能完成,讓 AI 正式加入我們的投資工具箱 🚀。


上一篇
Day 6: 技術面分析入門:MA、RSI 讓股價趨勢更清晰
下一篇
Day 8 : 如何註冊 OpenAI API Key?帶你 5 分鐘搞定
系列文
AI 給我錢錢錢 ! AI 股神養成計劃21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言